Specifying Graceful Degradation
نویسندگان
چکیده
Complex programs are often required to display graceful degradation, reacting adaptively to changes in the environment. Under ideal circumstances, the program's behavior satisfies a set of application-dependent constraints. In the presence of events such as failures, timing anomalies, synchronization conflicts, or security breaches, certain constraints may become difficult or impossible to satisfy, and the application designer may choose to relax them as long as the resulting behavior is sufficiently " close " to the preferred behavior. This paper describes the relaxation la#ice method, a new approach to specifying graceful degradation for a large class of programs. A relaxation lattice is a lattice of specifications parameterized by a set of constraints, where the stronger the set of constraints, the more restrictive the specification. While a program is able to satisfy its strongest set of constraints, it satisfies its preferred specification, but if changes to the environment force it to satisfy a weaker set, then it will permit additional " weakly consistent " computations which are undesired but tolerated. The use of relaxation lattices is illustrated by specifications for programs that tolerate 1) faults, such as site crashes and network partitions, 2) timing anomalies, such as attempting to read a value " too soon " after it was written, 3) synchronization conflicts, such as choosing the oldest " unlocked " item from a queue, and 4) security breaches, such as acquiring unauthorized capabilities. A preliminary version of this paper appeared in the proceedings of the Sixth ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing WV. C OMPLEX programs are often required to display grucejkl degradation, reacting adaptively to changes in the environment. Under ideal circumstances, the program's behavior satisfies a set of application-dependent preferred constraints. Each constraint typically preserves a certain level of consistency, and each has an associated cost. In the presence of failures, timing anomalies, synchronization conflicts, or security violations, certain constraints may become difficult or impossible to satisfy, and the application designer may choose to relax them as long as the resulting behavior is sufficiently " close " to the preferred behavior. Although numerous techniques have been proposed for implementing graceful degradation in a variety of domains, the resulting behavior has proved difficult to specify using existing techniques. In this paper, we propose the relaxation lattice method, a new approach to specifying graceful degradation for a large class of programs, including sequential, concurrent, and distributed programs. This method incorporates …
منابع مشابه
Developing a Software Architecture for Graceful Degradation in an Elevator Control System
Many embedded systems have high safety and dependability requirements, which makes ensuring software robustness a top priority in these systems. As embedded computer systems become more complex and incorporate increasing functionality, their software systems become increasingly more difficult to design, build, and maintain. One approach to achieving software robustness is graceful degradation. ...
متن کاملDesign Patterns for Graceful Degradation
The term graceful degradation describes the smooth change to a lower state of some system aspect as a response to the occurrence of an event that prohibits the manifestation of the fully fledged system behavior. Graceful degradation has appeared in a variety of domains, from image processing and telecommunications to shared memory multiprocessors and multi-modular memory systems. In each domain...
متن کاملUsing Architectural Properties to Model and Measure System-Wide Graceful Degradation
System-wide graceful degradation may be a viable approach to improving dependability in computer systems. In order to evaluate and improve system-wide graceful degradation we present initial work on a component-based model that will explicitly define graceful degradation as a system property, and measure how well a system gracefully degrades in the presence of multiple combinations of component...
متن کاملTowards Decentralized Management of Graceful Degradation in Distributed Embedded Systems
Graceful degradation entails a proportional loss of functionality or the reduction in the quality of services a system provides in response to faults. Compared to traditional techniques, graceful degradation is a promising approach to achieving fault tolerance at reduced cost. Current research using this approach in distributed embedded systems assumes a central management unit responsible for ...
متن کاملUsing Architectural Properties to Model and Measure Graceful Degradation
System-wide graceful degradation may be a viable approach to improving dependability in computer systems. In order to evaluate and improve system-wide graceful degradation we present a system model that will explicitly define graceful degradation as a system property, and measure how well a system gracefully degrades in the presence of multiple combinations of component failures. The system’s s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Trans. Parallel Distrib. Syst.
دوره 2 شماره
صفحات -
تاریخ انتشار 1991